
import {isRef, ref, unref, watchEffect} from 'vue'
import axios from 'axios'
// export function useFetch(){
//   const data = ref(null)
//   const error = ref(null)
//   axios({
//     url:'http://bufantec.com/api/douban/movie/selectPreview'
//   })
//   .then(res=>{
//     data.value = res
//   })
//   .catch(err=>{
//     error.value =err
//   })


//   return {error,data}
// }


export function useFetch(url){
  const data = ref(null)
  const error = ref(null)
  const doFecht = ()=>{
    axios({
      // unref() 如果是 ref 自动解包，如果不是 ref  原样返回
      url:unref(url)
    })
    .then(res=>{
      data.value = res
    })
    .catch(err=>{
      error.value =err
    })
  }

  if(isRef(url)){
    watchEffect(doFecht)
  }else{
    doFecht()
  }

  return {error,data}
}